Transparentnost u glyph

Otázka od: Lebeda David

3. 5. 2004 13:44

Ahoj,

mam obrazek GIF, ktery kdyz necham zobrazit pomoci TImage komponenty, tak se
zobrazi transparentne. OK. Ted se snazim neco podobneho naucit svou komponentu,
ktera by mela byt neco jako TBitBtn doplneny o property Color (+ dalsi
vlastnosti jako
treba zalamovani textu).

Pouzivam stejny postup, jakym je realizovan TBitBtn, navic jsem pridal property
Picture
typu TPicture, do ktere jsem schopen nacist GIF obrazek. Ten GIF obrazek
potrebuji
prenest do Glyph property. K tomu pouzivam tento postup:

procedure TMyButton.PictureChanged(Sender: TObject);
var
 bmp: TBitmap;
begin
 bmp := TBitmap.Create;
 try
  bmp.Width := FPicture.Graphic.Width;
  bmp.Height := FPicture.Graphic.Height;
  bmp.Canvas.Draw(0, 0, FPicture.Graphic);
  Glyph := bmp;
 finally
  bmp.Free;
 end;
end;

Postup funguje, button dostane spravny glyph, ale ten glyph neni transparentni.
Veskere me laborovani zatim nikam nevedlo. Nevite nekdo, jak obrazek z TPicture
prevest na TBitmap se zachovanim pruhlednosti?

Diky

David Lebeda
************************************************************
David Lebeda, programator
ComArr s. r. o.
Tolarova 291, 533 51 Pardubice

Telefon: 466 889 111 (ustredna), 466 889 225 (prima linka)
Fax: 466 415 481
E-mail: lebeda@comarr.cz
http://www.comarr.cz
************************************************************


Odpovedá: Pavel Malinsky

3. 5. 2004 20:00

> -----Original Message-----
> From: delphi-l-owner@clexpert.cz
> [mailto:delphi-l-owner@clexpert.cz] On Behalf Of Lebeda David
>
> Ahoj,
>
> zobrazi transparentne. OK. Ted se snazim neco podobneho

Ahoj,

  a neni potreba nastavit Transparent(transparent mod)
u ty bitmapy? (viz priklad v Helpu:

procedure TForm1.Button1Click(Sender: TObject);

var
  Bitmap : TBitMap;
begin
  Bitmap := TBitmap.Create;
  try
    with Bitmap do begin
      
LoadFromFile('c:\Program Files\Common Files\Borland
Shared\Images\Splash\256color\factory.bmp');
      Transparent := True;
      TransParentColor := BitMap.canvas.pixels[50,50];
      Form1.Canvas.Draw(0,0,BitMap);
      TransparentMode := tmAuto;
      Form1.Canvas.Draw(50,50,BitMap);
    end;
  finally
    Bitmap.Free;

  end;
end;

)

          S pozdravem a dikem
=====================================
> Pavel Malinsky; malinsky@pmcom.cz <
=====================================
> GSM: 602 652 203 | ICQ: 322015967 <
=====================================



Odpovedá: martin kolos

4. 5. 2004 6:45

>Veskere me laborovani zatim nikam nevedlo. Nevite nekdo, jak obrazek z
TPicture
>prevest na TBitmap se zachovanim pruhlednosti?
>
ahojte

nejsem si jisty, ale mam za to, ze bmp nepodporuje transparentnost

martin kolos

Odpovedá: Lebeda David

4. 5. 2004 8:28

> > zobrazi transparentne. OK. Ted se snazim neco podobneho
>
> Ahoj,
>
> a neni potreba nastavit Transparent(transparent mod)
> u ty bitmapy? (viz priklad v Helpu:
>
Ahoj,

ten priklad jsem samozrejme videl, ale nastaveni transparent
nezabralo. Budu jeste experimentovat... Na druhou stranu - TImage
ten obrazek zobrazi spravne, tj. transparentne, zatim jsem ale
nevykoukal, jak to dela.

David Lebeda